EN FR
EN FR


Section: New Software and Platforms

Platforms

CHOCO

Participants : Nicolas Beldiceanu, Jean-Guillaume Fages, Xavier Lorca [correspondant] , Thierry Petit, Charles Prud'Homme [main developer] , Rémi Douence.

CHOCO is a Java discrete constraints library integrating within a same system explanations, soft constraints and global constraints (90000 lines of source code). In 2014 developments were focusing on the following aspects:

  • For second consecutive year, CHOCO has participated at the MiniZinc Challenge , an annual competition of constraint programming solvers. In competition with 16 other solvers, CHOCO has won three bronze medals in three out of four categories (Free search, Parallel search and Open class).

  • Five versions have been released all year long, the last one (v3.3.0, Dec. 17th) has the particularity to be promoted on Maven Central Repository . The major modifications were related to a simplification of the API but also improvement of the overall solver.

  • A User Guide is now available: 164 pages describing how to use CHOCO , together with a new website .

  • Finally, Charles Prud'homme and Jean-Guillaume Fages, the main contributors of CHOCO , have defended their Phd, publishing at the same time their work in the source code. In particular, an extension of CHOCO now provides support for constraints involving graph variables.

IBEX

Participants : Ignacio Araya, Clément Carbonnel, Gilles Chabert [correspondant] , Benoit Desrochers, Luc Jaulin, Bertrand Neveu, Jordan Ninin, Ignacio Salas Donoso, Gilles Trombettoni.

IBEX (Interval-Based EXplorer) is a C++ library for solving nonlinear constraints over real numbers. The main feature of Ibex is its ability to build solver/paver strategies declaratively through the contractor programming paradigm. It also comes with a black-box solver and a global optimizer.

In 2014 the work on IBEX has focused on the following points.

  • Global optimizer:

    • Rigorous mode in the global optimizer (certification of the feasibility of strict equality constraints for the minimum found). This includes Newton-based inflation iteration, Hansen test for underconstrained systems (see Global Optimization using Interval Analysis, E. Hansen, 1992).

    • Unconstrained local search algorithm (quasi-Newton method with trust regions).

    • Rejection test based on first-order conditions (see First Order Rejection Tests For Multiple-Objective Optimization, A. Goldsztejn et al.  [42] ).

    • Multiple selection technique in exploration (see A new multisection technique in interval methods for global optimization, L.G. Casado, Computing, 2000)

  • Contractors:

    • Existentially-quantified constraints, (see Contractor Programming, [8] ).

    • Mohc contractor, (see Exploiting Monotonicity in Interval Constraint Propagation, I. Araya et al.,  [41] ).

    • Q-intersection, (see Q-intersection Algorithms for Constraint-Based Robust Parameter Estimation, C. Carbonnel et al., AAAI 2014, [27] ).

    • Contractor based on pixel maps (started in Oct 2014, still in progress, see Using set membership methods for robust underwater robot localization, PhD, J. Sliwka).

  • Miscellanous

    • Everyday code improvement (around 400 commits in 2014).

    • Symbolic processing features (symbol occurrence splitting, function construction from strings, progress in differentiation with vector/matrix operations).

    • numerous bug fixes (especially in the inner arithmetic routines).

Global Constraint Catalog

Participants : Nicolas Beldiceanu [correspondant] , Mats Carlsson, Sophie Demassey, Helmut Simonis.

The global constraint catalog presents and classifies global constraints and describes different aspects with meta data. It consist of

  1. a pdf version that can be downloaded from http://sofdem.github.io/gccat/ (at item working version) containing 431 constraints, 4070 pages and 1000 figures,

  2. an on line version accessible from the previous address,

  3. meta data describing the constraints (buton PL for each constraint, e.g., alldifferent.pl ),

  4. an online service (i.e, a constraint seeker ) which provides a web interface to search for global constraints, given positive and negative ground examples.

This year developments were focusing on:

  1. maintaining the content of the catalogue,

  2. making more easy the navigation within the pdf version,

  3. continuing the redesign of the figures using TikZ : 200 figures were converted and 100 figures remain to be converted, and adding new illustrations (150 figures).

  4. updating the web version of the catalogue (see http://sofdem.github.io/gccat/ ).

AIUR

Participant : Florian Richoux [correspondant] .

AIUR  (Artificial Intelligence Using Randomness) is an AI for StarCraft:BroodWartm.

The main idea is to be unpredictable by making some stochastic choices. The AI starts a game with a "mood" randomly picked up among 5 moods, dictating some behaviors (aggressive, fast expand, macro-game, ...). In addition, some other choices (productions, timing attacks, early aggressions, ...) are also taken under random conditions.

Learning is an essential part of AIUR . For this, it uses persistent I/O files system to record which moods are efficient against a given opponent, in order to modify the probability distribution for the mood selection. The current system allows both on-line and off-line learning.

AIUR  is an open source program under GNU GPL v3 licence, written in C++ (18.000 lines of code). Source and documentations are available at github.com/AIUR-group/AIUR . AIUR  finished 4th to StarCrafttm AI competitions organized at the conferences AIIDE 2014 and CIG 2014.

GHOST

Participant : Florian Richoux [correspondant] .

GHOST  (General meta-Heuristic Optimization Solving Tool) is a template C++11 library designed for StarCraft:BroodWartm, under the terms of the GNU GPL v3 licence and is about 7500 lines long. GHOST  implements a meta-heuristic solver aiming to solve any kind of combinatorial and optimization RTS-related problems represented by a csp /cop  [36] . The solver handles dedicated geometric and assignment constraints in a way that is compatible with very strong real time requirements. The source code as well as documentation pages are available at github.com/richoux/GHOST .

This framework is a deep extension of an ad-hoc solver. Although GHOST  has been developed recently (during Summer 2014), it got itself quickly noticed by a French video-game developing company. We are starting discussion about a technology transfer of GHOST .